package main

import (
	"log"
	"os"

	"minitool/backend/handler"
	"minitool/backend/repository"

	"github.com/gin-gonic/gin"
)

func main() {
	engine := gin.New()

	InitRoute(engine)

	repository.Init()

	engine.Run(":8088")
}

func InitRoute(engine *gin.Engine) {

	pwd, err := os.Getwd()
	if err != nil {
		log.Fatal(err)
	}
	engine.Static("/minitool", pwd+"/frontend")

	//   - 上传壁纸（管理端、用户）
	engine.POST("/wallpaper/create", handler.CreateWallpaper)

	//   - 获取壁纸列表，支持分页，支持按属性排序（如时间、热度）
	engine.GET("/wallpaper/list", handler.ListWallpaper)
	//   - 获取壁纸详
	engine.GET("/wallpaper/detail", handler.GetDetail)
	//   - 索搜壁纸，支持按是否付费搜索，也支持关键词模糊匹配壁纸名称、标签和分类
	engine.POST("/wallpaper/search", handler.SearchWallpaper)
	//   - 下载壁纸
	engine.GET("/wallpaper/dowload/ulr", handler.GetDownloadURL)

	//  - 更新壁纸属性，如热度值、收藏值、分类、标签、下载次数等
	engine.POST("/wallpaper/update", handler.UpdateWallpaper)
	//  - 壁纸下线、上线、移除（管理端）
	engine.POST("/wallpaper/admin/update", handler.AdminUpdateWallpaper)
}
